There are various devices that can be used to classify a communication flow according to its application name. One such device is PacketShaper™ from Blue Coat Systems Inc.™ based in Sunnyvale, Calif. For example, PacketShaper™ can analyze network traffic, separate the network traffic into various communication flows, and classify each communication flow by application name. One flow might be identified as Skype™ communication, while another flow might be identified as LinkedIn™ communication. Other example application names include Facebook™, Zynga™, Twitter™, BitTorrent™, etc. A communication flow generally refers to the network traffic between a source and a destination, or more generally between any two network devices. A communication flow may be initiated by a handshake (such as the well known TCP handshake) and may conclude with another handshake. A communication flow typically involves the transfer of information between a source and destination, the information divided into many individual data packets while the information is being transferred from the source to the destination.
Classification of network traffic is useful in that it allows policies and/or rules to be applied to the classified network traffic. For instance, a company may restrict its employees from using Facebook™ on work machines, and accordingly may drop all data packets associated with communication flows classified as Facebook™ communication. As another example, a company may prioritize certain applications over other applications. For instance, Skype™ related communication might be prioritized over YouTube™ communication, due to the low latency requirements of Skype™. Thus, classification of network traffic can provide certain controls and efficiencies such as application blocking, application prioritization, etc. At the same time, the classification of network traffic is a computationally intensive operation, requiring a very large quantity of network traffic to be classified almost instantaneously.